Balancing the load of handling remote object invocation in a conventional distributed object system is implemented by evenly object access permissions among client-run computers. For instance, objects are activated in advance on a plurality of server-run computers and a means to control the access to the active objects is provided on any server-run computer. In response to requests for object access from user programs on client-run computers, the above means evenly returns object access permissions to the clients. Once having obtained the object access permission, the user programs on client-run computers initiate remote object invocation. A technique of this type is described in, for example, Japanese Patent Laid-Open Publication No. Hei 10-40118.
For such system operating in LAN or WAN environments, variation of the traffic for accessing a server from client-run computers is relatively small and therefore expanding the cluster of server-run computers is not often required. Alteration to services provided by the cluster of server-run computers is less required.
Meanwhile, for such system built by using the Internet, rapid change of the traffic for accessing servers from client-run computers occurs. It often happens that the capacity of the cluster of sever-run computers becomes insufficient because of rapid increase of the traffic for accessing a server from the client-run computers after a distributed object system using the Internet is built. In the event of such over-traffic condition, the cluster of the server-run computers must be expanded so as to be capable of handing the traffic for accessing a server from the client-run computers.
Previous techniques, however, do not disclose a simple method of adding a new object, which is to run on server-run computers, to server-run computers.
For a distributed object system by using the Internet, services provided by server-run computers change frequently. Consequently, it often happens that after such system is built, system alternation is made by renewing objects on server-run computers. Previous techniques, however, do not disclose a simple method of activating or deactivating objects distributed on a plurality of server-run computers.
An object of the present invention is to provide a distributed object system provided with a load balancing feature, wherein easy addition and expansion of objects to run on a new server-run computer are possible.
Another object of the invention is to provide a distributed object system provided with a load balancing feature, wherein objects can easily be activated and deactivated and system service alteration is possible by renewing objects.
In order to attain the above objects, the invention was devised to provide a distributed object system with the load balancing feature and make the system work as follows. With an object being not active on the sever-run computers in advance, on one of the server-run computers, object code and object data are obtained from a managing computer in response to a remote object invocation from a client-run computer and the required method of the object is executed, and moreover the managing computer is requested to overwrite the object data. Therefore, when a server-run computer is added to the cluster of the server-run computers due to insufficient capacity, it is not necessary to activate objects in advance on the new server-run machine.
In order to attain the above objects, in the distributed object system provided with a load balancing feature, objects are activated or deactivated only on the managing computer without being done on a plurality of server-run computers. Thus, object exchange can be performed by simple operation, when an object is renewed, it is deactivated on the managing computer, replaced by a new object, and the new object is activated there.
Other and further objects, features and advantages of the invention will appear more fully from the following description.